package com.wande.dataplatform.domain.dto;

import lombok.Data;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

/**
 * DolphinScheduler同步配置DTO
 *
 * @author DataPlatform
 */
@Data
public class DsSyncConfigDTO {

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 配置名称
     */
    @NotBlank(message = "配置名称不能为空")
    private String configName;

    /**
     * 同步类型: WORKFLOW, TASK, INSTANCE
     */
    @NotBlank(message = "同步类型不能为空")
    private String syncType;

    /**
     * 同步模式: AUTO, MANUAL
     */
    @NotBlank(message = "同步模式不能为空")
    private String syncMode;

    /**
     * 同步间隔(秒)
     */
    private Integer syncInterval;

    /**
     * 是否启用: 0-禁用, 1-启用
     */
    @NotNull(message = "启用状态不能为空")
    private Integer enabled;

    /**
     * 配置参数JSON
     */
    private String configParams;

    /**
     * 备注
     */
    private String remark;
}
